package com.bank.backend.enums;

/**
 * 银行卡状态枚举
 */
public enum CardStatusEnum {
    
    NORMAL("正常", "银行卡正常使用"),
    REPORT_LOSS("挂失", "银行卡已挂失，不能使用");
    
    private final String value;
    private final String description;
    
    /**
     * 构造器
     */
    CardStatusEnum(String value, String description) {
        this.value = value;
        this.description = description;
    }
    
    /**
     * 获取值
     */
    public String getValue() {
        return value;
    }
    
    /**
     * 获取描述
     */
    public String getDescription() {
        return description;
    }
    
    /**
     * 根据值获取枚举
     */
    public static CardStatusEnum getByValue(String value) {
        for (CardStatusEnum status : values()) {
            if (status.getValue().equals(value)) {
                return status;
            }
        }
        return null;
    }
    
    /**
     * 根据布尔值获取枚举
     */
    public static CardStatusEnum getByIsReportLoss(Boolean isReportLoss) {
        return isReportLoss != null && isReportLoss ? REPORT_LOSS : NORMAL;
    }
} 